﻿using Microsoft.Practices.Prism.Mvvm;
using System;
using System.ComponentModel.DataAnnotations;

namespace Songhay.BiggestBox.Desktop.Modules.ODataWeather.ViewModels
{
    public class DataPointViewModel : BindableBase
    {
        public static string CollectionName = "DataPoints";

        [Display(Name = "Dew Point")]
        public Single DewPoint
        {
            get { return this._dewPoint; }
            set { this.SetProperty(ref this._dewPoint, value); }
        }

        public Byte Humidity
        {
            get { return this._humidity; }
            set { this.SetProperty(ref this._humidity, value); }
        }

        public Int16 Pressure
        {
            get { return this._pressure; }
            set { this.SetProperty(ref this._pressure, value); }
        }

        public Single Rain
        {
            get { return this._rain; }
            set { this.SetProperty(ref this._rain, value); }
        }

        public Single Sun
        {
            get { return this._sun; }
            set { this.SetProperty(ref this._sun, value); }
        }

        public Single Temperature
        {
            get { return this._temperature; }
            set { this.SetProperty(ref this._temperature, value); }
        }

        [Display(Name = "Time Point")]
        public DateTime TimePoint
        {
            get { return this._timePoint; }
            set { this.SetProperty(ref this._timePoint, value); }
        }

        [Display(Name = "Wind Direction")]
        public string WindDirection
        {
            get { return this._windDirection; }
            set { this.SetProperty(ref this._windDirection, value); }
        }

        [Display(Name = "Wind Speed")]
        public Single WindSpeed
        {
            get { return this._windSpeed; }
            set { this.SetProperty(ref this._windSpeed, value); }
        }

        [Display(Name = "Max Wind Speed")]
        public Single WindSpeedMax
        {
            get { return this._windSpeedMax; }
            set { this.SetProperty(ref this._windSpeedMax, value); }
        }

        Single _dewPoint;
        Byte _humidity;
        Int16 _pressure;
        Single _rain;
        Single _sun;
        Single _temperature;
        DateTime _timePoint;
        string _windDirection;
        Single _windSpeed;
        Single _windSpeedMax;
    }
}
